Nate Barbettini - API Throwdown: RPC vs REST vs GraphQL, Iterate 2018

Поделиться
HTML-код
  • Опубликовано: 26 ноя 2024

Комментарии • 62

  • @michaelellis627
    @michaelellis627 4 года назад +36

    VERY few people excel at presenting complex topics in a way that is interesting, informative, and easily digestible. After watching this video and the OAuth 2.0 and OpenID Connect video that led me here, it's clear that Nate Barbettini is one of those people. Please keep doing what you're doing!

  • @stuck90
    @stuck90 5 лет назад +99

    I loved your oAuth in plain english talk. Brought me here. Another awesome win. Keep doing these.

    • @anvaysfromairoli
      @anvaysfromairoli 4 года назад +1

      @@jarnovirta6997 For me as well

    • @mehransarabchian6795
      @mehransarabchian6795 4 года назад

      Same here :-D He is a great speaker and learnt a lot by his talk. Thanks :)

    • @gauravmalhotra944
      @gauravmalhotra944 4 года назад

      I followed the same path and completely agree.

    • @aerlaut
      @aerlaut Год назад

      @@gauravmalhotra944 Same here

  • @JohnnyNilsson83
    @JohnnyNilsson83 4 года назад +10

    Great talk. And btw, regarding the acronym - you could indeed call it "the 5 C's", but slightly modified into "D V C's".
    D = The
    V = Roman letter for 5
    C = ... well, the C's

  • @nelsonthekinger
    @nelsonthekinger 4 года назад +9

    It's very funny because peaple praise GraphQL because of the schema stuff but that we praise NoSQL because is schemaless over the schema in Databases. I can't understand Humans.

  • @ChaitanyaDevavarapu
    @ChaitanyaDevavarapu 5 лет назад +5

    Wow, me too not an exception. First I watched ‘OAuth in plain English’. That interest brought me here. Another wonderful presentation. Kudos.

  • @eyesight2073
    @eyesight2073 4 года назад +21

    All these days I assumed I was doing REST API.
    After watching this....
    I was actually doing RPC in the name of REST API
    😅😅🤣🤣🤣

    • @nbarbettini
      @nbarbettini 4 года назад +3

      I think we've all done that! :)

    • @LotusP2
      @LotusP2 3 года назад

      SAME haha

  • @ehguacho2008
    @ehguacho2008 5 лет назад +7

    man, that was such an amazing talk! thnx a lot for sheding some light (:

  • @THEBEST-lh6pq
    @THEBEST-lh6pq 3 года назад +1

    Lol I feel attacked. Had no idea what RPC was, seems like have been using it all the time. An eye opener

  • @AkhilSharmaTech
    @AkhilSharmaTech 4 года назад +1

    probably the most mature talk on this topic

  • @manantank
    @manantank 2 года назад +1

    What an Amazing talk. I learned a ton of stuff - thank you very much !!!

  • @parahumanoid
    @parahumanoid 3 года назад

    The "function explosion" is not a problem, I believe, with any careful planning. RPC is public by definition, so proper attention should be devoted to segmenting the api into groups. Granted, not all that simple to foresee everything, but we sure can go a long way to avoid the so-called "explosion". Also, why in the hell would to publish an API synonymous to internal structure? Have an abstraction layer for that!

  • @ShramikTangadkar
    @ShramikTangadkar 5 лет назад

    Explained nicely which API design patterns should we use.

  • @samanthaferguson6018
    @samanthaferguson6018 4 года назад +1

    same here i also came after watching oAuth in plain English.Keep it up bro

  • @jaysistar2711
    @jaysistar2711 4 года назад +1

    I would say thay although caching is not as easy, it's better in GraphQL with ApolloEngine and ApolloClient due to the possibility of using id as a unique identifier for a server object, and per field timing and caching.

    • @nbarbettini
      @nbarbettini 4 года назад +1

      I've had a pretty different experience with ApolloClient caching actually. More bugs due to ApolloClient doing weird caching stuff than anything else.

    • @jaysistar2711
      @jaysistar2711 4 года назад +1

      @@nbarbettini Their use of the id field and your ability to override its use is not something that they talk much about, but they should because, as you said, it gets really confusing if you don't know what it's doing.

  • @theaxacall
    @theaxacall 3 года назад

    hey hi
    I made an api with express. I can read the images on the same port with api.map... but I can access the links of my api images from a different server, but I cannot view the images.

  • @boyangli9489
    @boyangli9489 5 лет назад +1

    Wow this is exactly what I am looking for! It clears my confusion! Thanks!

  • @yjhjerry
    @yjhjerry 2 года назад +1

    Very informative and explanatory, thank you!

  • @hackwar1
    @hackwar1 3 года назад

    gRPC 'solves' many of the of the issues you describe with RPC API's. If used with protocol buffers, you get a single endpoint instead of X endpoints because the generated code abstracts this from the developer. The most important asset of any API is the contract and protocol buffers allow you to create backwards compatible contacts, so no need for 'v2' function names.
    Maybe also don't compare RPC with REST or GraphQL it's like comparing apples with pears. Because SOAP is RPC, gRPC is RPC and Corba as well, but they are very different. So a more fair comparison would have been to compare gRPC with the other two. Other than that, great talk, thank you!

  • @tommytian
    @tommytian 6 лет назад +2

    Great presentation! easy to understand. well done.

  • @anandsakthivel9425
    @anandsakthivel9425 4 года назад

    Thank you! It's well organized presentation, I learned a lot.

  • @dinuminichandraweera3540
    @dinuminichandraweera3540 5 лет назад +1

    Wow. You rock, man. Amazing explanation

  • @BGivo
    @BGivo 5 лет назад

    Seemed like this was put together from an initial idea to make them seem equal. If you listen closely, the content within shows why GraphQL is actually far superior. The only thing against it, really, is that it's more complicated and not everyone is familiar with it. I don't think this characteristic should hold equal weight when the point of the presentation is to compare technologies.

    • @nbarbettini
      @nbarbettini 4 года назад +3

      My goal was not to show that they are equal, but they are different tools for different jobs. I think GraphQL absolutely shines for first-party APIs and some third-party ones too (now that it is becoming more mainstream). I wouldn't use it for communication between microservices.

    • @ngodinhloc3065
      @ngodinhloc3065 4 года назад

      @@nbarbettini thanks Nate, for clearing my doubt. I have always believed that there is place for RPC, and REST is not suitable for micrservices communication, especially when it comes to asyn communication or messaging, that is where RPC shines.

    • @nbarbettini
      @nbarbettini 4 года назад

      @@ngodinhloc3065 Indeed, Thrift and gRPC are very common for those scenarios.

  • @meisterthea
    @meisterthea 6 лет назад +1

    Interesting and useful ways to think about APIs

  • @prastikgyawali6545
    @prastikgyawali6545 4 года назад +1

    All I can say is GraphQL is the only positive contribution done to humanity by Facebook. LOL ! Great explanation tho.

  • @emadknolg3937
    @emadknolg3937 5 лет назад

    Great presentation Nate, Thanks :)

  • @javacoder1986
    @javacoder1986 5 лет назад

    Great content, thanks for uploading.

  • @cdishiyam9232
    @cdishiyam9232 4 года назад

    came from that great OAuth talk ...

  • @xinyuanliu1959
    @xinyuanliu1959 4 года назад

    What does resource mean in the REST part?

    • @LeeBrandt
      @LeeBrandt 4 года назад +1

      It means some _THING_ that you want to get. For instance: contacts.google.com holds contact resources. IMDB holds movie resources. I hope that helps.

    • @arunkumarsilvarajan7991
      @arunkumarsilvarajan7991 3 года назад

      Every object/noun is a resource

  • @barsvelioglu2276
    @barsvelioglu2276 4 года назад

    Well done. Really nice explanation.

  • @humanbeing496
    @humanbeing496 5 лет назад

    great video quality!

  • @kaamisama_jabrawala
    @kaamisama_jabrawala 6 лет назад +1

    great so none of the APIs i have seen up to this point has been true RESTful APIs. Good to know.

  • @KhaAadijaKHA
    @KhaAadijaKHA 6 лет назад

    Great presentation !

  • @iwandepee
    @iwandepee 3 года назад

    Great explanations!

  • @shoulderstack5527
    @shoulderstack5527 Год назад

    Thanks for the confirmation

  • @repme
    @repme 6 лет назад

    Thanks. Great presentation.

  • @jankidepala
    @jankidepala 5 лет назад

    i dont to see the screen..

  • @amirhosseinahmadi3706
    @amirhosseinahmadi3706 4 года назад

    Great talk! Thank you!

  • @ravikumarprasad9009
    @ravikumarprasad9009 5 лет назад

    This guy is genius!

  • @shivangchaturvedi237
    @shivangchaturvedi237 2 года назад

    👏🏻👏🏻👏🏻👏🏻👏🏻👏🏻👏🏻👏🏻👏🏻... Bravo!

  • @bellajbadr
    @bellajbadr 5 лет назад

    great talk

  • @bobbydrake8113
    @bobbydrake8113 6 лет назад

    That shirt is cool.

  • @rajeshkishore7171
    @rajeshkishore7171 3 года назад

    Excellent

  • @arnavkumarambastha7638
    @arnavkumarambastha7638 5 лет назад

    Nate Barbettini - GOD _/\_

  • @javacppdevelopment3884
    @javacppdevelopment3884 5 лет назад

    REST is the best.

  • @pharmokan
    @pharmokan 4 года назад

    smart dude

  • @pharmokan
    @pharmokan 4 года назад

    http/3 makes graphql obsolete